Optimizing manufacturing of physical components

ABSTRACT

A manufacturing process for physical components can be optimized using some techniques described herein. For example, a system can receive, via a graphical user interface, a user selection of a particular type of production location. The system can determine a cumulative consumption of a component at the particular type of production location over a particular time window. The system can analyze a group of candidate types of production equipment to identify a particular type of production equipment that can accommodate the cumulative consumption of the component during the particular time window. And the system can execute one or more computing operations configured to facilitate deployment of the particular type of production equipment at the particular type of production location.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of co-pending U.S. patentapplication Ser. No. 17/897,825, filed Aug. 29, 2022, titled “OptimizingManufacturing of Physical Components,” the entirety of which is herebyincorporated by reference herein.

TECHNICAL FIELD

The present disclosure relates generally to optimizing manufacturing.More specifically, but not by way of limitation, this disclosure relatesto optimizing manufacturing of physical components at productionlocations using models.

BACKGROUND

A production location can be any location that manufactures (e.g.,produces or assembles) one or more types of physical products. Examplesof a production location can include a manufacturing facility or astore. The physical products can include a particular component, such asan ingredient, an integrated-circuit chip, or a mechanical fastener. Ifthe production location also manufactures the particular componenton-site, the production location can include production equipment foruse in manufacturing the particular component. For example, theproduction location may include first production equipment usable tomanufacture the particular component and second production equipmentusable to manufacture a physical product that includes the particularcomponent. Different types of physical products may require differentamounts of the particular component. For example, one type of productmay require more of the particular component than another. Becausedifferent production locations may produce different types or quantitiesof physical products over the same time period, different productionlocations may require different amounts of the particular componentduring that time period.

SUMMARY

One example of the present disclosure includes a system comprising oneor more processors and one or more memories. The one or more memoriescan include instructions that are executable by the one or moreprocessors to perform operations. The operations can include receiving,via a graphical user interface, a user selection of a particular type ofproduction location; determining a cumulative consumption of a componentat the particular type of production location over a particular timewindow; analyzing a plurality of candidate types of production equipmentto identify a particular type of production equipment that can producemore of the component during the particular time window than thecumulative consumption of the component during the particular timewindow; and executing one or more computing operations configured tofacilitate deployment of the particular type of production equipment atthe particular type of production location.

Another example of the present disclosure can include a method ofoperations, which may be implemented by one or more processors. Theoperations can include receiving, via a graphical user interface, a userselection of a particular type of production location; determining acumulative consumption of a component at the particular type ofproduction location over a particular time window; analyzing a pluralityof candidate types of production equipment to identify a particular typeof production equipment that can produce more of the component duringthe particular time window than the cumulative consumption of thecomponent during the particular time window; and executing one or morecomputing operations configured to facilitate deployment of theparticular type of production equipment at the particular type ofproduction location.

Yet another example of the present disclosure can include anon-transitory computer-readable medium including program code that isexecutable by one or more processors for causing the one or moreprocessors to perform operations. The operations can include receiving,via a graphical user interface, a user selection of a particular type ofproduction location; determining a cumulative consumption of a componentat the particular type of production location over a particular timewindow; analyzing a plurality of candidate types of production equipmentto identify a particular type of production equipment that can producemore of the component during the particular time window than thecumulative consumption of the component during the particular timewindow; and executing one or more computing operations configured tofacilitate deployment of the particular type of production equipment atthe particular type of production location.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example of a system for optimizingmanufacturing of physical components at production locations accordingto some aspects of the present disclosure.

FIG. 2 is a graph of an example of a model according to some aspects ofthe present disclosure.

FIG. 3 is a flowchart of an example of a process for generating a modelaccording to some aspects of the present disclosure.

FIG. 4 is a flowchart of an example of a process for selecting andautomatically controlling a piece of production equipment according tosome aspects of the present disclosure.

FIG. 5 is a block diagram of an example of a computing device usable toimplement some aspects of the present disclosure.

DETAILED DESCRIPTION

Certain aspects and features of the present disclosure relate tooptimization software that can optimize a manufacturing process for aphysical component at a selected type of production location. Forexample, the optimization software can determine the cumulativeconsumption of the component over a predesignated time window at theselected type of production location. The cumulative consumption may berepresented as a model, indicating the consumption of the component overa time window at the selected type of production location. Additionally,the optimization software can select a piece of production equipmentfrom among multiple available options. The optimization software candetermine the cumulative production of the component over thepredesignated time window by the selected piece of production equipment.The optimization software can then determine a difference between thecumulative consumption and the cumulative production (e.g., bysubtracting one from the other). If the difference between the two iszero or negative anywhere in the predesignated time window, it maysuggest that the cumulative consumption is more than the cumulativeproduction. This, in turn, may mean that the selected piece ofproduction equipment is unable to satisfy the demand of the selectedtype of production location. So, the optimization software can selectanother option, from among the multiple options, and repeat the aboveprocess. The optimization software can iterate the above process untilit identifies a piece of production equipment for which the differencesuggests that the piece of production equipment can handle thecumulative production. For instance, if the difference is greater thanzero throughout the predesignated time window, it may mean that thepiece of production equipment is sized or otherwise configured toproduce a sufficient amount of the component to meet the demand. Afterselecting an appropriate piece of production equipment, the optimizationsoftware can facilitate the physical installation of the productionequipment at the selected type of production location by one or moreentities.

It can be desirable to appropriately size production equipment for agiven type of production location. Correctly sizing the productionequipment can prevent the production location from overproducing orunderproducing a component, which can help to optimize output from theproduction location. Underproducing the component may lead to aninability to fulfill demand for physical products that include thecomponent. Conversely, overproducing the component may lead to waste andexcess energy consumption. This is particularly true if the component issubject to rapid degradation (e.g., if the component is ice that melts),where any excess may quickly become unusable. But it can be challengingto correctly size production equipment for a given type of productionlocation. Previous approaches to sizing production equipment largelyinvolve relying on a human expert to determine whether they think acertain piece of production equipment will satisfy the needs of a givenproduction location. This approach is fraught with error because it islargely subjective and complex. While there are also some computer-basedapproaches, they can be computationally intensive, location specific,and inaccurate due to the exclusion of key variables. Thesecomputer-based approaches also tend to consume significant amounts ofcomputing resources such as processing power, memory, and storage space.

Some examples of the present disclosure can overcome one or more of theabovementioned problems by providing optimization software that usescomputationally efficient models, indicating consumption informationabout different types of production locations, to automatically selectan appropriate piece of production equipment for a given type ofproduction location. The models can be specifically designed to consumefewer computing resources (e.g., CPU, memory, and storage space) andprovide more accurate results than alternative approaches. One exampleof such a model can be a third order polynomial, which requires atrivial amount of storage space and can be rapidly configured byoptimizing just four coefficients, while still providing accurateresults. Such models are also faster to generate and require fewercomputing resources to use than alternative approaches, which can reducelatency and improve the responsiveness of the optimization software. Theoptimization software can rely on such models to quickly, efficiently,and accurately evaluate a particular type of production location andselect an appropriately sized piece of production equipment. Afterselecting a piece of production equipment, the optimization software canexecute one or more computing operations to facilitate the physicalinstallation of the selected production equipment at a productionlocation.

In some examples, the optimization software can also automaticallycontrol the operation of a piece of production equipment at a productionlocation based on the models. This automation may assist in conservingenergy, minimizing waste, and optimizing output. For example, theoptimization software can analyze a model to determine that a componentis consumed at different rates throughout the day at a particular typeof production location. For instance, the production location mayproduce more physical products with the component in the morning than inthe afternoon, so the component may be used at a higher rate in themorning than in the afternoon. In this scenario, it may be desirable tocontrol the production equipment to operate at a higher production ratein the morning and a lower production rate in the afternoon. So, theoptimization software can automatically transmit control signals to theproduction equipment for causing the production equipment to operate atthe higher production rate in the morning and the lower production ratein the afternoon. This can improve efficiency. Operating at the higherproduction rate may produce more of the component and consume moreelectrical energy, while operating at the lower production rate mayproduce less of the component and consume less electrical energy, soadjusting the production rate throughout the day can balance productionoutput against energy consumption.

Additionally or alternatively, the optimization software can control theoperation of secondary production equipment based on the models. Forinstance, in the above example, the optimization software couldautomatically control the production rate for a piece of productionequipment based on the models. But, it may not always be possible tocontrol a primary piece of production equipment in this manner. Olderproduction equipment that has already been installed at variouslocations may not have this capability and may be unable to produceenough of the component at peak times. In some such situations,secondary production equipment can be installed at the productionlocation and used to cure the deficiency in component production. Thesecondary production equipment may be physically smaller than theprimary production equipment. The secondary production equipment mayalso produce less output and consume less energy than the primaryproduction equipment. After the secondary production equipment isinstalled at the production location, the optimization software canautomatically control the secondary production equipment, for example bychanging its rate of production throughout the day. This may help tooptimize output and reduce energy consumption.

In some examples, the optimization software can automatically controlboth of the primary production equipment and the secondary productionequipment based on the models. For example, the primary productionequipment may be unable to produce enough of the component at peaktimes, though it may be capable of being automatically controlled by theoptimization software. In some such situations, secondary productionequipment can be installed at the production location and used to curethe deficiency in component production. Once the secondary productionequipment is installed at the production location, the optimizationsoftware can automatically control both the primary production equipmentand the secondary production equipment, for example by changing theirproduction rates throughout the day so that they can cooperate to meetproduction requirements. The primary production may be used a majorityof the time, with the secondary production equipment being awoken froman idle state or otherwise operated at peak times to meet any excessneed.

These illustrative examples are given to introduce the reader to thegeneral subject matter discussed here and are not intended to limit thescope of the disclosed concepts. The following sections describe variousadditional features and examples with reference to the drawings in whichlike numerals indicate like elements but, like the illustrativeexamples, should not be used to limit the present disclosure.

FIG. 1 is a block diagram of an example of a system 100 for optimizingmanufacturing of physical components at production locations 116 a-baccording to some aspects of the present disclosure. The system 100includes a server system 102. The server system 102 can include one ormore computing devices that may or may not be in a distributedconfiguration, such as in a cloud computing arrangement. The serversystem 102 can execute optimization software 104 configured to constructone or more models 106 and use the models 106 to select productionequipment for installation at a production location 116 a. Theproduction equipment can be selected based on the models 106 to optimizeproduction of a physical component 120 at the production location 116 a.The production equipment can be any type of physical machine, such as anelectrical machine or a mechanical machine, that can produce thecomponent 120.

More specifically, the system 100 can include any number of clientdevices 108 a-b through which any number of entities 112 a-b caninteract with the server system 102. Examples of the client devices 108a-b can include desktop computers, laptop computers, tablets, andwearable devices such as smart watches. Examples of the entities 112 a-bcan include companies or users. The entities 112 a-b can operate theclient devices 108 a-b to interact with the server system 102. Forexample, entity 112 a can operate client device 108 a to access agraphical user interface 110 provided by the optimization software 104.Through the graphical user interface 110, the entity 112 a may be ableto interact with one or more graphical interface elements to select atype of production location at which the production equipment is to beinstalled. There may be multiple different types of production locationsat which the production equipment can be installed (e.g., deployed foruse at the production location). For example, the entity 112 a may wantto install the production equipment at production location 116 a, whichmay be of a different type than production location 116 b. As onespecific example, production location 116 a may be a drive-thru locationand production location 116 b may be a coffee stand. The entity 112 acan select a type of production location, for example from a pull-downmenu or via another graphical interface element of the graphical userinterface 110, at which the production equipment is to be installed. Theoptimization software 105 can receive the selection from the clientdevice 108 via one or more networks 114, such as the Internet.

In response to receiving the selection, the optimization software 104can determine a particular model, from among the models 106, thatcorresponds to the selected type of production location. Relationshipsbetween the models 106 and types of production locations can be storedin memory (e.g., cache memory) to assist in this determination. Each ofthe models 106 may correspond to a different type of production locationthan the other models 106. For example, a first model may correspond toa first type of production location and a second model may correspond toa second type of production location. The “type” of a productionlocation may be a predesignated classification that depends on theproduction location's floorplan, service model, size, operations, or anycombination of these. Each type of production location may be physicallyconstructed according to certain design specifications that may bedifferent from the other types of production locations.

In some examples, each model 106 can include a polynomial defining acurve. The curve can indicate the cumulative consumption of thecomponent 120 over a particular time window, such as one day, inrelation to the corresponding type of production location. Thiscumulative consumption can be considered one type of consumptioncharacteristic associated with the corresponding type of productionlocation. One example of such a model is shown in a graph 200 of FIG. 2. As shown, the graph 200 can include time along the X-axis andcumulative component consumption along the Y-axis for a drive-thru onlylocation. The time window depicted in the graph 200 spans 24 hours, orone day. The model is the dashed curve corresponding to the polynomialy=−0.0002x³+0.0071x²−0.0191x+0.309. The graph 200 also shows othercurves corresponding to 25th percentile consumption, 75th percentileconsumption, 90th percentile consumption, and mean consumption of thecomponent at the drive-thru only location.

Continuing with FIG. 1 , after determining a model 106 that correspondsto the selected type of production location, in some examples theoptimization software 104 can analyze the model 106 to derive one ormore additional consumption characteristics associated with consumptionof the component 120 at the selected type of production location.Examples of the consumption characteristics can include a rate of changeof consumption of the component 120 at the selected type of productionlocation, the maximum rate of consumption of the component 120 at theselected type of production location, one or more times of day at whichthe maximum consumption rate occurs, the minimum rate of consumption ofthe component 120 at the selected type of production location, one ormore times of day at which the minimum consumption rate occurs, theaverage rate of consumption of the component 120 at the selected type ofproduction location, or any combination of these.

In some examples, the optimization software 104 can determine the rateof change in consumption by taking the first derivative of the model. Ifthe model is a polynomial represented as y(t)=At³+Bt²+Ct+D, where thecoefficients A, B, C, and D were previously derived during amodel-generation process, then taking the first derivative can result inthe rate equation: r(t)=3At²+2Bt+C. This equation represents the rate ofchange of consumption at the particular type of production location. Insome examples, the optimization software 104 can determine the time(t_(max)) at which the maximum rate of consumption occurs can beobtained by taking the second derivative of the model's polynomial andsetting it equal to zero. If the model's polynomial is represented asy(t)=At³+Bt²+Ct+D, then taking the second derivative and setting itequal to zero can result in t_(max)=B/3A. In some examples, theoptimization software 104 can determine the average consumption rate forthe component using the integral

${\frac{1}{b - a} \times {\int_{a}^{b}{{r(t)}{dt}}}},$where a is the time at which the particular type of location opens, b isthe time at which the particular type of location closes, and r(t) isthe rate equation described above. Other techniques can be used todetermine these or other consumption characteristics.

The one or more consumption characteristics determined based on themodel 106 can be referred to as a consumption profile 130 for theselected type of production location. The optimization software 104 canselect a piece of production equipment based on one or more of theconsumption characteristics in the consumption profile 130. Examples ofthe production equipment can include appliances such as ice makers,ovens, and mixers; molders such as injection molding machines,rotational molding machines, and extrusion molding machines; chemicalmixing machines such as tumbler blenders, ribbon blenders, agitators,and emulsifiers; etc. The optimization software 104 can make thisdetermination based on equipment profiles 132 corresponding to multiplepieces of production equipment. The equipment profiles 132 can indicatethe operational characteristics of different types of productionequipment. Examples of the operational characteristics can include thecumulative production of the component 120 over a particular timewindow, a maximum production rate of the component 120, a minimumproduction rate of the component 120, an average production rate of thecomponent 120 over a particular time window, or any combination ofthese.

As one particular example, the equipment profiles 132 can describedifferent types of ice making machines, where type may have its ownequipment profile indicating its unique operational characteristics. Theoptimization software 104 can select a type of ice making machine,determine its cumulative production over a predesignated time windowbased on its equipment profile, and compare that cumulative productionto the cumulative consumption (e.g., expressed by the model 106) of theselected type of production location over the same time window. If thedifference between the two is zero or negative at any point during thetime window, it may indicate that the selected type of ice makingmachine cannot satisfy the production needs of the selected type ofproduction location. So, the optimization software 104 can select adifferent type of ice making machine and repeat the above process. Theoptimization software 104 can iterate the above process until a stoppingcondition is met. The stopping condition may be that the optimizationsoftware 104 has identified a type of ice making machine that cansatisfy the production needs of the selected type of productionlocation. Alternatively, the stopping condition may be that a thresholdnumber of iterations have been performed.

After selecting the appropriate piece of production equipment for theparticular type of location, the optimization software 104 can executeone or more computing operations to facilitate the installation of theselected production equipment at the particular type of productionlocation, such as production location 116 a. One example of thecomputing operations can include updating the graphical user interface110 of the client device 108 a to display an identifier of the selectedproduction equipment. The graphical user interface 110 may also beupdated to display an image of the selected production equipment, someor all of the equipment profile 132 for the selected productionequipment, installation instructions for the selected productionequipment, or any combination of these. Based on this information, theentity 112 a may physically install or assist in installing the selectedproduction equipment at the selected type of production location.Installing the production equipment may include plugging the productionequipment into an electrical outlet or another power source at theproduction location, physically affixing the production equipment to asurface of the production location, attaching fluid conduits to theproduction equipment, or any combination of these.

Another example of the computing operations can include notifying atleast one other entity 112 b of the selected production equipment, forexample by transmitting an electronic communication to the client device108 b. The other entity 112 b may be different from entity 112 a as wellas the operator of the server system 102. For example, the other entity112 b may be a construction or installation contractor, an individual atthe production location, or another entity that can physically installor assist in installing the selected production equipment at theselected type of production location. In some examples, the optimizationsoftware 104 can generate a construction list 128 that includes theselected production equipment. The construction list 128 may be a listof physical devices to be installed at the production location. Theoptimization software 104 can transmit the construction list 128 to theother entity 112 b for use in constructing, renovating, or otherwisemodifying the production location to include the selected productionequipment.

In the example shown in FIG. 1 , the production location 116 a can bethe location at which the selected production equipment is installed. Inthis example, the selected production equipment may serve as primaryproduction equipment 118 or secondary production equipment 124. Primaryproduction equipment may be industrial-grade equipment that can serve asthe main source for manufacturing a component at a production location.Secondary production equipment may be used to fill a production gap, forexample if the primary production equipment is unable to produce asufficient amount of the component 120 to meet the needs of theproduction location. As one particular example, the primary productionequipment 118 may be an industrial ice machine. If the ice machine isinsufficiently sized to produce enough ice to satisfy demand at peaktimes by the production location 116 a, secondary production equipment124 may be installed to fill the gap. The secondary production equipment124 may be a smaller-sized ice machine that can output a sufficientamount of ice to fill the production deficit.

The component 120 can be used to create one or more products 126 at theproduction location 116. For example, the ice from the ice machines canbe used as an ingredient to produce beverages or foods at the productionlocation 116 a. Additionally or alternatively, the component 120 can beprovided as an input to other production equipment 134, as representedby the dashed arrow in FIG. 1 . The other production equipment 134 canalso be installed at the production location 116 a for producing theproducts 126 using the component 120. Examples of the other productionequipment 134 can include ovens, mixers (e.g., blenders), assemblylines, etc. Once created, the products 126 may be provided to visitorsof the production location 116 or transmitted to other locations fordistribution.

In some examples, the server system 102 can further optimize componentmanufacturing after the production equipment (e.g., the primaryproduction equipment 118 or the secondary production equipment 124) isinstalled at the production location 116 a. For example, theoptimization software 104 can analyze the model 106 associated with theproduction location 116 a to identify a peak consumption time at whichthe component 120 is most consumed. The optimization software 104 canalso analyze the model 106 to identify an average consumption time atwhich the component 120 is consumed an average amount. The optimizationsoftware 104 may further analyze the model 106 to identify a lowconsumption time at which the component 120 is least consumed. A lowconsumption time can be a time at which consumption of the component 120is considerably below an average consumption level. The optimizationsoftware 104 can then control the primary production equipment 118, thesecondary production equipment 124, or both based on that information.

For example, the optimization software 104 can transmit commands via thenetwork 114 to the primary production equipment 118, the secondaryproduction equipment 124, or both to increase their production of thecomponent 120 near peak consumption times. The optimization software 104can also transmit commands via the network 114 to the primary productionequipment 118, the secondary production equipment 124, or both todecrease their production of the component 120 near low consumptiontimes. The optimization software 104 can further transmit commands viathe network 114 to the primary production equipment 118, the secondaryproduction equipment 124, or both to modify their production of thecomponent 120 to optimize it for average consumption times. In this way,the optimization software 104 can automatically and dynamically adjustthe operational settings of the primary production equipment 118 and thesecondary production equipment 124 to balance their output against needsand energy consumption.

In some examples, the production equipment can include sensor units 122a-c. For example, the primary production equipment 118, secondaryproduction equipment 124, and the other production equipment 134 caninclude sensors units 122 a-c. The sensor units 122 a-c can each includeone or more sensors configured to measure various parameters andtransmit corresponding sensor signals to the server system 102 via thenetwork 114. Examples of the sensors can include temperature sensors,weight sensors, accelerometers, water sensors, cameras, globalpositioning system (GPS) units, microphones, flow meters, fuel sensors,light sensors, pressure sensors, inclinometers, speed sensors, proximitysensors, depth sensors, level sensors, rotation sensors, or anycombination of these. The server system 102 can receive the sensorsignals from the sensor units 122 a-c and use their measurements tofurther optimize component manufacturing.

For example, the optimization software 104 may receive a sensor signalfrom a sensor unit 122 a of the primary production equipment 118. Thesensor signal may indicate an available quantity of the component 120 orrate of production of the component 120 at a given time of day. Based onthe sensor signal, the optimization software 104 can detect an event.For example, the optimization software 104 can determine that theavailable quantity or production rate is below a predefined threshold.The predefined threshold may be, for example, a usual consumption ratefor that time of day as indicated by the model 106. The reason for thisevent may be due to a defect in the production equipment, power loss fora period of time, insufficient power supply to the production equipment,or some other issue or anomaly, which may not be readily ascertainablebased on the equipment profiles 132. In response to detecting the event,the optimization software 104 can automatically control the primaryproduction equipment 118, the secondary production equipment 124, orboth to boost production. This may help account for the deficit andensure that the production location 116 a has a sufficient amount of thecomponent to meet its needs.

While the example shown in FIG. 1 involves a client-server arrangement,other examples may involve other arrangements. For instance, theoptimization software 104 may alternatively be executed on the clientdevice 108 a. In some such examples, the optimization software 104 maybe a native application or other executable that is run directly on theclient device 108 a. Other examples may also involve more components,fewer components, different components, or a different arrangement ofcomponents than is shown in FIG. 1 . For instance, although theoptimization software 104 is represented as a single box in FIG. 1 forsimplicity, it will be appreciated that the optimization software 104can include any number and combination of software modules.

FIG. 3 is a flowchart of an example of a process for generating a model106 according to some aspects of the present disclosure. Although theprocess is described below with reference to the optimization software104 of FIG. 1 , the process can be implemented by other software locatedon or off of the server system 102.

In block 302, the optimization software 104 receives a first datasetindicating consumption of a component 120 at a particular type ofproduction location. Examples of the component 120 can include anelectronic component, such as an integrated circuit (IC) chip,transistor, or resistor; a food or beverage ingredient, such as ice,syrup, dough, or frosting; a chemical composition, such as a mixture ofliquid chemicals or powder chemicals; or a mechanical component, such asa fastener, toy part, or tire.

The first dataset can indicate consumption of the component 120 in afirst time increment. For example, the first dataset can indicate theconsumption of the component 120 by a single production location inhalf-hour increments over the course of a prior time window. In thisexample, the first dataset would include 2×24 hours=48 data points perday, for as many days as there are in the time window. If the timewindow is one year, this would result in 17,520 total data points. Otherexamples can include consumption information from multiple productionlocations, in which case the first dataset would include even more datapoints.

The first dataset can be derived from consumption information providedby one or more production locations of the particular type. For example,a dozen production locations of the particular type can provideconsumption information about the consumption of the component 120 inhalf-hour increments over the prior time window (e.g., the previousyear). This consumption information can be collected and aggregated togenerate the first dataset.

The optimization software 104 can receive the first dataset from anysuitable source. For example, the optimization software 104 canautomatically generate the first dataset by communicating via one ormore networks 114 with one or more computer systems of one or moreproduction locations of the particular type. Each of the computersystems can provide the relevant consumption information to theoptimization software 104, which can aggregate and format (e.g.,normalize) the consumption information according to the first timeincrement. As another example, the optimization software 104 can receivethe first dataset from a database or another computer system.

In block 304, the optimization software 104 receives values forconfigurable settings. The configurable settings can be variables thatcan be adjusted to impact or improve the accuracy of the resulting model106. Examples of configurable settings can include a loss rate, a remakerate, a decay rate, an error rate, and an override. The loss rate may bea rate at which the component 120 is misplaced or lost during theproduction process. The remake rate may be a rate at which the component120 is used to remake a product because the original product failed tomeet requested specifications. The decay rate may be a rate at which aphysical quality of the component 120 decays over time, for example tothe point at which the component 120 becomes unusable for an intendedpurpose. In the context of ice, the decay rate may be the rate at whichthe ice melts over time. The error rate may be a rate at which errorsare made in the production of the component 120, which can render theproduced component unsatisfactory for an intended purpose. An overridecan be a manual override of at least a portion of the first dataset withone or more replacement values, for example because the first datasetfails to account for an event such as a seasonal shift or promotion.

As one particular example, the production location may produce beveragesthat include ice, which can serve as the component 120. It can beassumed that there will be certain circumstances in which beverages willneed to be remade, for example due to errors or other complications. Itcan also be assumed that some of the ice will melt or evaporate overtime, even if it is stored in a cold location such as a freezer. Theseassumptions can correspond to configurable settings that can becustomized by a user. For example, a first configurable setting can be abeverage remake rate and a second configurable setting can be an icemelt rate. An example of the beverage remake rate may be 5%, meaningthat 5% of the total number of beverages produced need to be remade. Anexample of the ice melt rate may be 8%, meaning that 8% of the total iceproduced in a given day may melt before it can be used. A user may beable to input these setting values to help configure the model.

In some examples, the optimization software 104 can receive the valuesfor the configurable settings from a user via a graphical userinterface, such as graphical user interface 110. For example, the usercan input the values via one or more graphical interface elements of thegraphical user interface. Additionally or alternatively, theoptimization software 104 can receive at least some of the values of theconfigurable settings from a predefined configuration file, which mayhave been drafted by a model developer or another entity.

In block 306, the optimization software 104 receives a second datasetindicating consumption of a component 120 at the particular type ofproduction location. The second dataset can indicate consumption of thecomponent 120 in a second time increment that is different than thefirst time increment. For example, the second dataset can indicate theconsumption of the component 120 per day (e.g., in one-day increments)by a single production location over the course of a prior time window.In this example, the second dataset would include one datapoint-per-day, for as many days as there are in the time window. If thetime window is one year, this can result in 365 total data points. Otherexamples can include consumption information from multiple productionlocations, in which case the second dataset can include more datapoints.

The second dataset can be derived from consumption information providedby one or more production locations of the particular type. For example,a dozen production locations of the particular type can provideconsumption information about the consumption of the component 120 indaily increments over the prior time window (e.g., the previous year).This consumption information can be parsed and aggregated to generatethe second dataset. For example, each production location can provide arespective set of data points indicating its consumption of thecomponent over the prior time window. If the prior time window spans oneyear, this would result in 365 total data points per productionlocation. In this example, the maximum values can be selected from amongthe 365 data points received from each production location. The maximumvalues can then be aggregated together to create the second dataset. Asa result, the second dataset would include only a limited subset of thedata points received from each production location in this example.

The optimization software 104 can receive the second dataset from anysuitable source. For example, the optimization software 104 canautomatically generate the second dataset by communicating via one ormore networks 114 with one or more computer systems of one or moreproduction locations of the particular type. Each of the computersystems can provide the relevant consumption information to theoptimization software 104, which can select, aggregate, and/or reformat(e.g., normalize) the consumption information. For example, theoptimization software 104 can select the maximum values from theconsumption information received from each of the production locationsand aggregate the maximum values together to generate the seconddataset. As another example, the optimization software 104 can receivethe second dataset from a database or another computer system.

In block 308, the optimization software 104 generates cumulativeconsumption data based on the first dataset, the setting values, thesecond dataset, or any combination of these. The cumulative consumptiondata can indicate the cumulative consumption of the component over aselected time window, such as one day.

In some examples, the cumulative consumption can be a range with astarting value of 0% and an ending value of 100%, where the consumptionincreases from the starting value at time to the ending value at timet_(n), which is the end of the selected time window. An example of thecumulative consumption data can be the data points plotted relative to a24-hour period in FIG. 2 . As shown in FIG. 2 , each data pointrepresents a cumulative consumption value that is determined by dividingthe running component consumption up to that point by the totalcomponent consumption for the entire day. The total componentconsumption for the entire day can be determined based on the seconddataset. For example, the optimization software 104 can determine a meanof the daily values in the second dataset and use the mean as the totalcomponent consumption per day.

The setting values can also be taken into account when generating thecumulative consumption data. For example, the cumulative consumptiondata can be adjusted to account for a loss rate, a remake rate, a decayrate, an error rate, an override, or any combination of these. Forinstance, the cumulative consumption data can be increased based on abeverage remake rate of 5% and an ice melt rate of 8%, to account forthose factors. Existing models and human experts may fail to considerthese factors in their computations, yielding suboptimal results. Takingthese and other factors into consideration can produce more accurateresults.

In block 310, the optimization software 104 generates a model 106 basedon the cumulative consumption data, the first dataset, the seconddataset, or any combination of these. For example, the optimizationsoftware 104 can execute a least squares method, such as aLevenberg-Marquardt algorithm, to estimate polynomial parameters for apolynomial based on the cumulative consumption data, where the model 106includes the polynomial. If the polynomial is a cubic polynomial, it canbe represented in the form: y(t)=At³+Bt²+Ct+D. The least squares methodcan be used to minimize the sum of the squared errors and thereby findthe best fitting curve to the data.

In some examples, the model 106 can be a machine-learning model, such asa neural network or ensemble of models. In some such examples, theoptimization software 104 can generate the model 106 at least in part bytraining the model using supervised or unsupervised learning techniques,which can transform the model 106 from an untrained state to a trainedstate. The model 106 can be trained based on the cumulative consumptiondata, the first dataset, the second dataset, or any combination ofthese. For example, the optimization software 104 may execute hundredsor thousands of training iterations to tune the model 106 based on thecumulative consumption data. Once tuned, the model 106 may be able toaccurately predict consumption of the component at a future point intime or otherwise provide valuable consumption information, which can beused to select an appropriate piece of production equipment for theparticular type of production location.

In block 312, the optimization software 104 determines whether the aboveprocess is to be repeated for a selected type of production location.The selected type of production location may be another type ofproduction location or the same type of production location for whichthe model 106 was already generated. For example, the above process canbe iterated for each type of production location to generate a uniquemodel for that type of production location. As one particular exampleinvolving a coffee producer, the following polynomial coefficients canbe determined for various types of production locations:

TABLE 1 Model Coefficients For Different Types of Production LocationsType of Production Location A B C D Roastery −0.0001231  0.0005234−0.9000000  0.1235320 Reserve Store −0.0001232  0.0134500 −0.3456820 0.2346530 Reserve Bar −0.0002345  0.0112345 −0.1235345 −0.9345330Pickup −0.0005341  0.4535123  0.01234561 −0.2314000 Kiosk −0.0001563 0.0234626 −0.1235775  0.7683000 Express  0.0004561 −0.0123145 0.2347867 −4.2346000 Drive Thru −0.0001134  0.0234578 −0.0089657 0.0324000 Only Drive Thru −0.0002645  0.0234134 −0.6453000  0.3420000Coffee Stand −0.0007556  0.0768454 −0.2345200  0.9990000 Cafe −0.0001124 0.4357892  0.0324521  0.1230000

In some examples, the optimization software 314 may receive updatedversions of the first dataset and the second dataset subsequent togenerating the model 106. The updated versions may be based onadditional or different consumption data gathered from one or moreproduction locations of the particular type. For example, the originalversions of the first dataset and the second dataset may have beengenerated based on consumption data collected from one or moreproduction locations in relation to a first time window. As timeprogresses, additional consumption information associated with a secondtime window may be added to the first dataset and the second dataset,resulting in updated versions of the first dataset and the seconddataset. The second window may be subsequent to the first time window.In some such examples, the process can return to block 302 and iterateto update the model 106 based on the updated versions of the firstdataset and the second dataset. Updating the model 106 may involvedetermining new coefficients for the model 106. By updating the model106 based on larger or different datasets, the accuracy of the model 106can be improved. This process can be automatically repeated in responseto a predefined event (e.g., the passage of a preset time period), sothat the model 106 can be continually improved over time.

As noted earlier, in some examples the optimization software 314 candetermine a respective consumption profile 130 for each type ofproduction location based on the corresponding model 106. Theconsumption profile 130 can include one or more consumptioncharacteristics, such as a cumulative consumption amount, an averageconsumption rate, a time of day at which the maximum consumption rateoccurs, and the maximum consumption rate. Examples of the consumptionprofiles 130 are shown below, where these consumption profiles 130 arerelated to the coffee producer example described above:

TABLE 2 Consumption Profiles For Different Types of Production LocationsTotal Avg Max Number Consumption Time of Max Consumption Type of ofHours Rate (% total Consumption Rate (% total Production Open/consumption/ Rate (hr of consumption/ Location Day hr) day) hr) Roastery17.5 2.5% 12.1 10.3% Reserve Store 17.5 3.3% 16.2  6.2% Reserve Bar 18.57.2% 5.4  6.3% Pickup 15.5 2.6% 7.4  4.6% Kiosk 18.5 9.2% 17.2  5.3%Express 11 3.1% 14.3  3.1% Drive Thru 24 4.7% 15.1  8.2% Only Drive Thru24 5.3% 10.2  7.4% Coffee Stand 5 6.2% 13.2  6.3% Cafe 24 7.0% 14.5 9.2%

The optimization software 104 can use one or more consumptioncharacteristics in a consumption profile 130 for a given type ofproduction location to select an appropriately configured (e.g., sized)piece of production equipment. The optimization software 104 may alsoautomatically control a piece of production equipment (e.g., productionequipment 118) based on the consumption profile 130, for example toincrease the output rate of the production equipment at the Roastery toat least 10.3% at hour number 14 each day, so that a sufficient amountof the component 120 is produced to satisfy this peak consumption level.

FIG. 4 is a flowchart of an example of a process for selecting andautomatically controlling a piece of production equipment according tosome aspects of the present disclosure. Although the process isdescribed below with reference to the optimization software 104 of FIG.1 , the process can be implemented by other software located on or offof the server system 102.

In block 402, the optimization software 104 accesses a model 106corresponding to a selected type of production location. For example,the optimization software 104 can access a stored mapping thatcorrelates models 106 to types of production locations to determinewhich of the models 106 corresponds to the selected type of productionlocation. The type of production location can be selected by a user, forexample via the graphical user interface 110 of FIG. 1 . The model 106can indicate the cumulative consumption of a component 120 over adesignated time window, and/or other consumption characteristics,associated with the selected type of production location.

In block 404, the optimization software 104 accesses one or moreequipment profiles 132 for one or more pieces of production equipmentthat may have the same primary purpose (e.g., function), for example toproduce ice. Each equipment profile can correspond to a single piece ofproduction equipment. Each piece of production equipment may be of adifferent type (e.g., make or model) than the other pieces of productionequipment. The equipment profiles 132 may have been progenerated basedon manufacturer data about the pieces of production equipment.

In block 406, the optimization software 104 selects one of the pieces ofproduction equipment. For example, the optimization software 104 cancompare the equipment profile of a piece of production equipment to theconsumption characteristics to determine whether the piece of productionequipment can satisfy the consumption demands of the selected type ofproduction location. If not, another piece of production equipment maybe chosen and the process may repeat. This process can iterate until apiece of production equipment is identified that can satisfy the needsof the selected type of production location.

In block 408, the optimization software 104 facilitates installation ofthe selected piece of production equipment at a production location ofthe selected type. For example, the optimization software 104 cangenerate a graphical user interface 110 that displays an identifier ofthe selected production equipment. The graphical user interface 110 mayalso display other information about the selected production equipment.Based on this information, the entity 112 a may physically install orassist in installing the selected production equipment at the selectedtype of production location. As another example, the optimizationsoftware 104 can transmit a notification to one or more entitiesindicating the selected production equipment. The one or more entitiesmay include personnel, contractors, or technicians capable of installingthe selected production equipment at the production location. As stillanother example, the optimization software 104 can generate aconstruction list 128 that includes the selected production equipment.The construction list 128 may be a list of physical machines to beinstalled at the production location. The optimization software 104 cantransmit the construction list 128 to one or more entities for use indeploying the selected production equipment at the production location.

In block 410, the optimization software 104 automatically controls theinstalled piece of production equipment at the production location. Insome examples, the optimization software 104 may automatically controlthe production equipment based on the model 106, for example to changethe equipment's rate of production throughout the day. This may involvetransmitting commands to the production equipment at different times ofday, where the commands may cause the production equipment to change itsoperational settings. For example, the optimization software 104 can usethe model 106 to predict that the production location will likely have afirst consumption rate associated with the component 120 at a first timeof day and a second consumption rate associated with the component 120at a second time of day. So, the optimization software 104 can commandthe production equipment to operate at a first production rate at thefirst time of day and a second production rate at the second time ofday, where the second production rate is different from the firstproduction rate. The first production rate can be selected to be greaterthan or equal to the first consumption rate, and the second productionrate can be selected to be greater than or equal to the secondconsumption rate. This can help ensure that the production equipment isproducing a sufficient amount of the component 120 to meet the changingdemand of the production location throughout the day.

Additionally or alternatively, the optimization software 104 canautomatically control the production equipment based on sensor signalsfrom one or more sensors of one or more sensor units 122 a-c. Forexample, if the sensor signals indicate that the energy consumption ofthe production equipment is too high (e.g., it exceeds a predefinedthreshold), the optimization software 104 can reduce the production rateof the production equipment to help conserve energy. In some examples,the optimization software 104 is intelligent enough to use the model 106to balance component production against energy consumption formaximizing energy efficiency.

Additionally or alternatively, the optimization software 104 canautomatically control the production equipment based on a predictivemodel that is different from the other models 106. One example of thepredictive model can be forecasting model, such as an exponentialsmoothing model (ESM) or an autoregressive integrated moving average(ARIMA) model. The predictive model can be configured to predictconsumption of the component 120 over a future timespan at theproduction location. The predictive model may be trained based ontraining data (e.g., time series data) indicating historical consumptionof the component 120 at one or more production locations over a previoustime period. Once trained, the optimization software 104 can use thepredictive model to predict a consumption rate of the component 120 at afuture point in time at the production location. The optimizationsoftware 104 can then automatically control the production equipment tooperate at a production rate that is greater than or equal to thepredicted consumption rate.

FIG. 5 is a block diagram of an example of a computing device 500 usableto implement some aspects of the present disclosure. The computingdevice 500 can correspond to the server system 102 or client device 108a of FIG. 1 . Examples of the computing device 500 can include a server,a desktop computer, a laptop computer, a tablet, a smart phone, or awearable device.

The computing device 500 includes a processor 502 communicativelycoupled to a memory 504 by a bus 506. The processor 502 can include oneprocessor or multiple processors. Examples of the processor 502 caninclude a Field-Programmable Gate Array (FPGA), an application-specificintegrated circuit (ASIC), and a microprocessor. The processor 502 canexecute instructions 508 stored in the memory 504 to perform operations.The instructions 508 may include processor-specific instructionsgenerated by a compiler or an interpreter from code written in anysuitable computer-programming language, such as C, C++, C #, Java, orPython.

The memory 504 can include one memory device or multiple memory devices.The memory 504 can be volatile or non-volatile (e.g., it can retainstored information when powered off). Examples of the memory 504 includeelectrically erasable and programmable read-only memory (EEPROM), flashmemory, or cache memory. At least some of the memory 504 includes anon-transitory computer-readable medium from which the processor 502 canread instructions 508. A computer-readable medium can includeelectronic, optical, magnetic, or other storage devices capable ofproviding the processor 502 with the instructions 508 or other programcode. Examples of a computer-readable mediums include magnetic disks,memory chips, ROM, random-access memory (RAM), an ASIC, a configuredprocessor, and optical storage.

In some examples, the instructions 508 can include the optimizationsoftware 104 of FIG. 1 . The optimization software 104 may be executableby the processor 502 for causing the processor 502 to perform any amountand combination of the functionality described herein. The optimizationsoftware 104 may also be executable by the processor 502 to perform morefunctionality, less functionality, or different functionality than isdescribed herein.

The computing device 500 also includes input components. One example ofan input component can include the user input device 510, which mayinclude one user input device or multiple user input devices. Examplesof such user input devices can include a mouse, a keyboard, a touchpad,and a touch-screen display. Another example of an input component caninclude the sensor 512, which may include one sensor or multiplesensors. Examples of such sensors can include a GPS unit, a gyroscope,an accelerometer, an inclinometer, and a camera.

The computing device 500 further includes output components. One exampleof an output component can include the display 514, which may includeone display or multiple displays. Examples of such displays can includea liquid crystal display (LCD) or a light-emitting diode (LED) display.The computing device 500 may also include an audio output component suchas a speaker, a haptic output component such as a haptic actuator, oranother type of output component. But for simplicity, these other outputcomponents are not shown in FIG. 5 .

While FIG. 5 depicts the components (e.g., processor 502, memory 504,and display 514) as being internal to a single housing, in otherexamples the components may be distributed and in wired or wirelesscommunication with one another. For example, the display 514 may be acomputer monitor that is separate from and in communication with thecomputing device 500 that performs the main processing. And althoughFIG. 5 depicts a certain number and arrangement of components, this isfor illustrative purposes and not intended to be limiting. Otherexamples can include more components, fewer components, differentcomponents, or a different arrangement of the components shown in FIG. 5.

The above description of certain examples, including illustratedexamples, has been presented only for the purpose of illustration anddescription and is not intended to be exhaustive or to limit thedisclosure to the precise forms disclosed. Modifications, adaptations,and uses thereof will be apparent to those skilled in the art withoutdeparting from the scope of the disclosure. For instance, any examplesdescribed herein can be combined with any other examples.

The invention claimed is:
 1. A system comprising: one or moreprocessors; and one or more memories including instructions that areexecutable by the one or more processors to: receive, via a graphicaluser interface, a user selection of a particular type of productionlocation; determine a cumulative consumption of a component at theparticular type of production location over a particular time window;analyze a plurality of candidate types of production equipment toidentify a particular type of production equipment that can produce moreof the component during the particular time window than the cumulativeconsumption of the component during the particular time window; executeone or more computing operations configured to facilitate deployment ofthe particular type of production equipment at the particular type ofproduction location; receive sensor data from a piece of productionequipment located at a production location, the sensor data indicating aproduction rate of the component by the piece of production equipment ata given point in time; determine that the production rate is below apredetermined threshold; and in response to determining that theproduction rate is below the predetermined threshold, automaticallyadjust the production rate of the piece of production equipment bytransmitting commands to the piece of production equipment via one ormore networks.
 2. The system of claim 1, wherein the productionequipment is an ice making machine and the component is ice.
 3. Thesystem of claim 1, wherein the one or more memories further includeinstructions that are executable by the one or more processors to:receive a first dataset indicating consumption of the component by aplurality of production locations of a particular type; generatecumulative consumption data based on the first dataset, the cumulativeconsumption data indicating the cumulative consumption of the componentover the particular time window; and automatically generate a polynomialby applying a least squares algorithm to the cumulative consumption datato select coefficients of the polynomial, wherein the polynomial servesas a model of component consumption at the particular type of productionlocation.
 4. The system of claim 1, wherein the one or more memoriesfurther include instructions that are executable by the one or moreprocessors to identify the particular type of production equipment by:for each respective type of production equipment among the plurality ofcandidate types of production equipment: determining cumulativeproduction associated with the respective type of production equipmentover the particular time window; subtracting the cumulative consumptionfrom the cumulative production to determine a difference between thetwo; determining whether the difference is zero or negative at any pointin the particular time window; and selecting the respective type ofproduction equipment as the particular type of production equipment, inresponse to determining that the difference is positive throughout theparticular time window; or discarding the respective type of productionequipment as being unsuitable for the particular type of productionlocation, in response to determining that the difference is zero ornegative at any point in the particular time window.
 5. The system ofclaim 1, wherein the one or more computing operations include:generating a construction list indicating a plurality of types ofequipment to be installed at the particular type of production location,the construction list including the particular type of productionequipment; and providing the construction list to an entity for use inbuilding the particular type of production location with the particulartype of production equipment.
 6. The system of claim 1, wherein the oneor more memories further include instructions that are executable by theone or more processors to select the particular type of productionequipment from among the plurality of candidate types of the productionequipment by: for each respective type of production equipment among theplurality of candidate types of the production equipment: accessing anequipment profile, among a plurality of equipment profiles,corresponding to the respective type of production equipment; anddetermining whether the equipment profile indicates that the respectivetype of production equipment can accommodate the cumulative consumptionof the component.
 7. A method comprising: receiving, by one or moreprocessors and via a graphical user interface, a user selection of aparticular type of production location; determining, by the one or moreprocessors, a cumulative consumption of a component at the particulartype of production location over a particular time window; analyzing, bythe one or more processors, a plurality of candidate types of productionequipment to identify a particular type of production equipment that canproduce more of the component during the particular time window than thecumulative consumption of the component during the particular timewindow; executing, by the one or more processors, one or more computingoperations configured to facilitate deployment of the particular type ofproduction equipment at the particular type of production location;receiving, by the one or more processors, sensor data from a piece ofproduction equipment located at a production location, the sensor dataindicating a production rate of the component by the piece of productionequipment at a given point in time; determining, by the one or moreprocessors, that the production rate is below a predetermined threshold;and in response to determining that the production rate is below thepredetermined threshold, automatically adjusting, by the one or moreprocessors, the production rate of the piece of production equipment bytransmitting commands to the piece of production equipment via one ormore networks.
 8. The method of claim 7, wherein the productionequipment is an ice making machine and the component is ice.
 9. Themethod of claim 7, further comprising: receiving a first datasetindicating consumption of the component by a plurality of productionlocations of a particular type; generating cumulative consumption databased on the first dataset, the cumulative consumption data indicatingthe cumulative consumption of the component over the particular timewindow; and automatically generating a polynomial by applying a leastsquares algorithm to the cumulative consumption data to selectcoefficients of the polynomial, wherein the polynomial serves as a modelof component consumption at the particular type of production location.10. The method of claim 7, further comprising identifying the particulartype of production equipment by: for each respective type of productionequipment among the plurality of candidate types of productionequipment: determining cumulative production associated with therespective type of production equipment over the particular time window;subtracting the cumulative consumption from the cumulative production todetermine a difference between the two; determining whether thedifference is zero or negative at any point in the particular timewindow; and selecting the respective type of production equipment as theparticular type of production equipment, in response to determining thatthe difference is positive throughout the particular time window; ordiscarding the respective type of production equipment as beingunsuitable for the particular type of production location, in responseto determining that the difference is zero or negative at any point inthe particular time window.
 11. The method of claim 7, wherein the oneor more computing operations include: generating a construction listindicating a plurality of types of equipment to be installed at theparticular type of production location, the construction list includingthe particular type of production equipment; and providing theconstruction list to an entity for use in building the particular typeof production location with the particular type of production equipment.12. The method of claim 7, further comprising selecting the particulartype of production equipment from among the plurality of candidate typesof the production equipment by: for each respective type of productionequipment among the plurality of candidate types of the productionequipment: accessing an equipment profile, among a plurality ofequipment profiles, corresponding to the respective type of productionequipment; and determining whether the equipment profile indicates thatthe respective type of production equipment can accommodate thecumulative consumption of the component.
 13. A non-transitorycomputer-readable medium including program code that is executable byone or more processors for causing the one or more processors to:receive, via a graphical user interface, a user selection of aparticular type of production location; determine a cumulativeconsumption of a component at the particular type of production locationover a particular time window; analyze a plurality of candidate types ofproduction equipment to identify a particular type of productionequipment that can produce more of the component during the particulartime window than the cumulative consumption of the component during theparticular time window; execute one or more computing operationsconfigured to facilitate deployment of the particular type of productionequipment at the particular type of production location; receive sensordata from a piece of production equipment located at a productionlocation, the sensor data indicating a production rate of the componentby the piece of production equipment at a given point in time; determinethat the production rate is below a predetermined threshold; and inresponse to determining that the production rate is below thepredetermined threshold, automatically adjust the production rate of thepiece of production equipment by transmitting commands to the piece ofproduction equipment via one or more networks.
 14. The non-transitorycomputer-readable medium of claim 13, wherein the production equipmentis an ice making machine and the component is ice.
 15. Thenon-transitory computer-readable medium of claim 13, further includingprogram code that is executable by the one or more processors forcausing the one or more processors to: receive a first datasetindicating consumption of the component by a plurality of productionlocations of a particular type; generate cumulative consumption databased on the first dataset, the cumulative consumption data indicatingthe cumulative consumption of the component over the particular timewindow; and automatically generate a polynomial by applying a leastsquares algorithm to the cumulative consumption data to selectcoefficients of the polynomial, wherein the polynomial serves as a modelof component consumption at the particular type of production location.16. The non-transitory computer-readable medium of claim 13, furtherincluding program code that is executable by the one or more processorsfor causing the one or more processors to identify the particular typeof production equipment by: for each respective type of productionequipment among the plurality of candidate types of productionequipment: determining cumulative production associated with therespective type of production equipment over the particular time window;subtracting the cumulative consumption from the cumulative production todetermine a difference between the two; determining whether thedifference is zero or negative at any point in the particular timewindow; and selecting the respective type of production equipment as theparticular type of production equipment, in response to determining thatthe difference is positive throughout the particular time window; ordiscarding the respective type of production equipment as beingunsuitable for the particular type of production location, in responseto determining that the difference is zero or negative at any point inthe particular time window.
 17. The non-transitory computer-readablemedium of claim 13, wherein the one or more computing operationsinclude: generating a construction list indicating a plurality of typesof equipment to be installed at the particular type of productionlocation, the construction list including the particular type ofproduction equipment; and providing the construction list to an entityfor use in building the particular type of production location with theparticular type of production equipment.
 18. The non-transitorycomputer-readable medium of claim 13, further including program codethat is executable by the one or more processors for causing the one ormore processors to select the particular type of production equipmentfrom among the plurality of candidate types of the production equipmentby: for each respective type of production equipment among the pluralityof candidate types of the production equipment: accessing an equipmentprofile, among a plurality of equipment profiles, corresponding to therespective type of production equipment; and determining whether theequipment profile indicates that the respective type of productionequipment can accommodate the cumulative consumption of the component.